$(function () {

  var currentPage = 1; //当前页 
  var pageSize = 3; // 每页数据条数   

  // 1- 首页的数据渲染
  // ajax + 模板引擎 

  function render() {
    $.ajax({
      type: 'get',
      url: '/category/queryTopCategoryPaging',
      data: {
        page: currentPage,
        pageSize: pageSize
      },
      dataType: 'json',
      success: function (res) {
        //   console.log(res);
        // 渲染
        $('tbody').html(template('tmp', res));
        // 基于真实的总数 生成分页 
        setPage(res.total);
      }
    })
  }
  render();

  // 2. 生成分页
  // 数据库数据总数
  function setPage(total) {
    // 分页插件 只负责生成小按钮 
    $("#paginator").bootstrapPaginator({
      bootstrapMajorVersion: 3,//默认是2，如果是bootstrap3版本，这个参数必填
      currentPage: currentPage,//当前页
      totalPages: Math.ceil(total / pageSize),// 小按钮的个数
      size: "small",//设置控件的大小，mini, small, normal,large
      onPageClicked: function (event, originalEvent, type, page) {
        //为按钮绑定点击事件 page:当前点击的按钮 对应页码 
        console.log(page);
        // 改变当前页取值 
        currentPage = page;
        // 页面重新渲染
        render();
      }
    });

  }

  // 3. 表单验证
  //使用表单校验插件
  //     //使用表单校验插件
  $('#addform').bootstrapValidator({
    //1. 指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
    excluded: [':disabled', ':hidden', ':not(:visible)'],

    //2. 指定校验时的图标显示，默认是bootstrap风格
    feedbackIcons: {
      valid: 'glyphicon glyphicon-ok',
      invalid: 'glyphicon glyphicon-remove',
      validating: 'glyphicon glyphicon-refresh'
    },

    //3. 指定校验字段
    fields: {
      //校验用户名，对应name表单的name属性
      categoryName: {
        validators: {
          //不能为空
          notEmpty: {
            message: '请输入一级分类'
          }
        }
      }
    }

  });


  // //4- 点击添加按钮， 表单验证通过后提交数据给后台，进行添加
  // $('#addform').on('success.form.bv', function (e) {
  //  // 阻止表单提交
  //  e.preventDefault();
  //  //进行ajax提交
  //  $.ajax({
  //      url: '/category/addTopCategory',
  //      data: $('#addform').serialize(),
  //      type: 'post',
  //      dataType: 'json',
  //      success: function (res) {
  //          console.log(res);
  //         //  //重新渲染第一页
  //         //  currentPage = 1;
  //          render();
  //          //隐藏模态框
  //          $('.modal-add').modal('hide');
  //          //重置表单
  //          // .resetForm(); 默认只重置表单相关样式 ，不重置数据 ， 如果重置数据，设置参数为ture
  //          $('#addform').data('bootstrapValidator').resetForm(true);
  //      }
  //  })
  // })


  // 一级分类: 
  // 1. 添加一级分类
  // 1.1: 点击添加按钮,获取表单数据,判断数据是否合理,如果数据合理,发送数据给后台,进行添加
  // 1.2: 添加完成后,页面重新渲染,隐藏模态框,表单重置


  $('#addform').on('success.form.bv', function (e) {
    // 禁止表单的自动提交
    e.preventDefault()
     
    // 发送ajax请求
    $.ajax({
       type: 'post',
       url: '/category/addTopCategory',
       data: $('#addform').serialize(), // 找到所有的name属性
       dataType: 'json',
       success: function (res) {
         console.log(res);

         // 页面重新渲染
         render();
         // 隐藏模态框
         $('.modal-add').modal('hide');
         // 表单重置,默认是false, 设置true就是去掉所有的错误提示和样式
         $('#addform').data('bootstrapValidator').resetForm(true)
       }
     })

  })

})
